Python scipy.interpolate插值
全部标签 我正在尝试在numpy.interp和scipy.interpolate.interp1d之间做出选择(当然是kind='linear').我意识到它们有不同的接口(interface),但这对我来说并不重要(我可以围绕任一接口(interface)进行编码)。我想知道是否还有其他我应该注意的差异。谢谢。 最佳答案 Numpy.interp不处理复数值数据或ndim>1,而scipy.interp1d两者都做。OTOH,numpy的插值器是muchfaster(并且在最近的numpy版本中可能更快)。
我使用python的日志记录模块设置了一个python记录器。我想使用ConfigParser模块将我正在使用的字符串与日志格式器对象一起存储在配置文件中。格式字符串存储在单独文件中的设置字典中,该文件处理配置文件的读写。我遇到的问题是python仍然尝试格式化文件并在读取所有特定于日志记录模块的格式化标志时失败。{"log_level":logging.debug,"log_name":"C:\\Temp\\logfile.log","format_string":"%(asctime)s%(levelname)s:%(module)s,line%(lineno)d-%(messag
考虑以下示例,我们在其中设置示例数据集、创建MultiIndex、拆分数据帧,然后在逐行填充的位置执行线性插值:importpandasaspd#version0.14.1importnumpyasnp#version1.8.1df=pd.DataFrame({'location':['a','b']*5,'trees':['oaks','maples']*5,'year':range(2000,2005)*2,'value':[np.NaN,1,np.NaN,3,2,np.NaN,5,np.NaN,np.NaN,np.NaN]})df.set_index(['trees','loca
我找不到解释inthedocumentation或在线任何地方。“线性”代表什么,它有什么作用? 最佳答案 查看scipy/interpolate/interpolate.py的源码,slinear是spline顺序1ifkindin['zero','slinear','quadratic','cubic']:order={'nearest':0,'zero':0,'slinear':1,'quadratic':2,'cubic':3}[kind]kind='spline'...ifkindin('linear','nearest'
我有一个不均匀间隔的(x,y)值列表。Here是这个问题中使用的存档。我能够在值之间进行插值,但我得到的不是等距插值点。这是我的做法:x_data=[0.613,0.615,0.615,...]y_data=[5.919,5.349,5.413,...]#Interpolatevaluesforxandy.t=np.linspace(0,1,len(x_data))t2=np.linspace(0,1,100)#One-dimensionallinearinterpolation.x2=np.interp(t2,t,x_data)y2=np.interp(t2,t,y_data)#Pl
我受到了启发answer@James查看如何使用griddata和map_coordinates。在下面的示例中,我展示了2D数据,但我对3D感兴趣。我注意到griddata只提供1D和2D的样条曲线,并且仅限于3D和更高的线性插值(可能有很好的理由)。但是,map_coordinates似乎适用于使用更高阶(比分段线性更平滑)插值的3D。我的主要问题:如果我在3D中有随机的非结构化数据(我不能在其中使用map_coordinates),是否有某种方法可以使NumPySciPy宇宙中的分段线性插值更平滑,或至少在附近?我的第二个问题:griddata中不提供3D样条是因为实现起来困难或
在SciPy中,有没有更好的方法来找到哪个X给我Y?我刚开始使用SciPy,对每个功能都不是很熟悉。importnumpyasnpimportmatplotlib.pyplotaspltfromscipyimportinterpolatex=[70,80,90,100,110]y=[49.7,80.6,122.5,153.8,163.0]tck=interpolate.splrep(x,y,s=0)xnew=np.arange(70,111,1)ynew=interpolate.splev(xnew,tck,der=0)plt.plot(x,y,'x',xnew,ynew)plt.sh
我有两个列表来描述函数y(x):x=[0,1,2,3,4,5]y=[12,14,22,39,58,77]我想执行三次样条插值,以便在x的域中给定一些值u,例如u=1.25我能找到y(u)。我找到了thisinSciPybutIamnotsurehowtouseit. 最佳答案 简答:fromscipyimportinterpolatedeff(x):x_points=[0,1,2,3,4,5]y_points=[12,14,22,39,58,77]tck=interpolate.splrep(x_points,y_points)re
我想构建实验数据的3D表示来跟踪膜的变形。实验上,只有角节点是已知的。但是我想绘制整体结构的变形,这就是为什么我想插入膜以启用它的漂亮颜色图。通过四处搜索,我使用以下代码几乎接近它:importnumpyfrommpl_toolkits.mplot3dimportAxes3Dfrommpl_toolkits.mplot3d.art3dimportPoly3DCollectionimportmatplotlib.pyplotaspltfrommatplotlibimportcmfromscipy.interpolateimportgriddatax=numpy.array([0,0,1,
我有一张世界basemap,它使用pcolormesh填充了数据(lintrends_mean)。因为数据有相对较大的网格框,所以我想平滑绘图。但是,我不知道该怎么做。在绘图函数中设置shading='gouraud'会模糊网格框的边缘,但我想要比这更好看的东西,因为数据仍然显得有些Blob。这里提出了一个类似的问题并给出了答案,但我不明白答案,尤其是“newdepth”的来源。由于我缺乏声誉,我也无法对此发表评论以进行澄清。interpolationwithmatplotlibpcolor#Setcmappropertiesbounds=np.array([0.1,0.2,0.5,1